package jee.boot.module.websocket;

import javax.websocket.Session;

/**
 * web socket 连接处理
 */
public interface WebSocketHandler {
    /**
     *  新建连接
     * @param session
     * @param sid
     */
    void onOpen(Session session , String sid);

    /**
     * 连接关闭
     * @param session
     * @param sid
     */
    void onClose(Session session,String sid);

    /**
     *  接收消息
     * @param session
     * @param sid
     * @param message
     */
    void onMessage(Session session,String sid,String message);

    /**
     * 异常连接
     * @param session
     * @param sid
     * @param error
     */
    void onError(Session session, String sid,  Throwable error);

    /**
     * 发送消息
     * @param message 消息内容
     * @param sid 消息接收人的sid
     */
    void sendMessage(Object  message,String sid);

    /**
     * 广播消息
     * @param message 消息内容
     */
    void sendMessage(Object message);
}
